#define _CRT_SECURE_NO_WARNINGS 1
#include "SList.h"

void test()
{
	SLTNode* node1 = (SLTNode*)malloc(sizeof(SLTNode));
	SLTNode* node2 = (SLTNode*)malloc(sizeof(SLTNode));
	SLTNode* node3 = (SLTNode*)malloc(sizeof(SLTNode));
	SLTNode* node4 = (SLTNode*)malloc(sizeof(SLTNode));
	
	node1->data = 1;
	node2->data = 2;
	node3->data = 3;
	node4->data = 4;

	node1->next = node2;
	node2->next = node3;
	node3->next = node4;
	node4->next = NULL;

	SLTNode* plist = node1;

	SLTPushBack(&plist, 5);
	SLTPopBack(&plist);
	SLTPushFront(&plist, 5);
	SLTPopFront(&plist);
	SLTNode* ps = SLTFind(plist, 3);
	SLTInsert(&plist, ps, 5);
	SLTInsertAfter(ps, 6);
	SLTEreaseAfter(ps);
	SLTErease(&plist, ps);
	SLTPrint(plist);
	//SLTInsert(&plist, plist, 6);
	//SLTPrint(plist);
//	SLTPrint(ps);
	SLTDesTory(&plist);
}
//void test2()
//{
//	SLTNode* plist = NULL;
//
//	SLTPushBack(&plist, 5);
//	SLTPrint(plist);
//	SLTDesTory(&plist);
//}

void test3()
{
	SLTNode* node1 = (SLTNode*)malloc(sizeof(SLTNode));
	node1->data = 1;
	node1->next = NULL;
	SLTNode* plist = node1;
	SLTPopBack(&plist);
	SLTPrint(plist);
	SLTDesTory(&plist);
}

int main()
{
	test();
	//test2();
	test3();
	return 0;
}